package de.stefanocke.roo.wicket.model;

import java.util.List;

import org.springframework.roo.model.JavaType;

public interface IBeanPropertiesMetadataProvider {

	/**
	 * Finds the properties metadata for a certain modelClass. Either it is
	 * retrieved from ModelClassPropertyMetadata, or, if this does not exist,
	 * directly form the modelClass.
	 * 
	 * @param modelClass
	 * @param mid
	 *            the client MID (to register dependencies)
	 * @return the List of PropertyMetadata
	 */
	List<BeanPropertyMetadata> getBeanPropertiesForModelClass(JavaType modelClass, JavaType beanPropertiesClass, String mid,
			boolean withExcludedFields);

}